package main

import (
	"time"
)

func main() {
}

type InfoCategoryColletion struct {
	Name            string
	Description     string
	UpdateTime      time.Time
	CreateTime      time.Time
	OwnerDepartment string	
	//-------
	InfoCategories      []InfoCategory
	CurrentVersion string
	//-----
	BaseShareType   string // enum:all,some,none
	//Agreements map[string]Agreement //to -> perm
	//-----
	RegistedEntityPathes []string
}


type Entity struct {
	EntityPath       string
	Properties map[string]string
	//Agreements map[string]Agreement //to -> perm  //如果没有，则取InfoCategory的
	infoPathRegistions  InfoPathRegistions
}


type InfoPathRegistions  []InfoPathRegistion

type InfoPathRegistion struct{
	Path  []string
	action bool //insert delete	
	byUser string
	date time.Time
}


type InfoCategory struct {
	Version        string
	Items          []InfoItem
	Status         string //enum edit review  approved
	CreateTime     time.Time
	ApprovedTime   time.Time
	LastModifyTime time.Time
	CreateUser     string
	ApprovedUser   string
}

type InfoItem struct {
	Name                string
	DataType            string //enum
	Description         string
	AdditionalShareType string // enum:all,some,none
}

type Agreement struct {
	AgreementId  string //enum
	ToDepartment string
}
 